import * as React from "react";
import { View } from "react-native";
import { Image } from "expo-image";

interface AvatarBrutalistProps {
    id: string;
    title?: boolean;
    square?: boolean;
    size?: number;
    monochrome?: boolean;
}

const abstractImages = [
    require('@/assets/images/brutalist/Abstract 1.png'),
    require('@/assets/images/brutalist/Abstract 2.png'),
    require('@/assets/images/brutalist/Abstract 3.png'),
    require('@/assets/images/brutalist/Abstract 4.png'),
    require('@/assets/images/brutalist/Abstract 5.png'),
    require('@/assets/images/brutalist/Abstract 6.png'),
    require('@/assets/images/brutalist/Abstract 7.png'),
    require('@/assets/images/brutalist/Abstract 8.png'),
    require('@/assets/images/brutalist/Abstract 9.png'),
    require('@/assets/images/brutalist/Abstract 10.png'),
    require('@/assets/images/brutalist/Abstract 11.png'),
    require('@/assets/images/brutalist/Abstract 12.png'),
    require('@/assets/images/brutalist/Abstract 13.png'),
    require('@/assets/images/brutalist/Abstract 14.png'),
    require('@/assets/images/brutalist/Abstract 15.png'),
    require('@/assets/images/brutalist/Abstract 16.png'),
    require('@/assets/images/brutalist/Abstract 17.png'),
    require('@/assets/images/brutalist/Abstract 18.png'),
    require('@/assets/images/brutalist/Abstract 19.png'),
    require('@/assets/images/brutalist/Abstract 20.png'),
    require('@/assets/images/brutalist/Abstract 21.png'),
    require('@/assets/images/brutalist/Abstract 22.png'),
    require('@/assets/images/brutalist/Abstract 23.png'),
    require('@/assets/images/brutalist/Abstract 24.png'),
    require('@/assets/images/brutalist/Abstract 25.png'),
    require('@/assets/images/brutalist/Abstract 26.png'),
    require('@/assets/images/brutalist/Abstract 27.png'),
    require('@/assets/images/brutalist/Abstract 28.png'),
    require('@/assets/images/brutalist/Abstract 29.png'),
    require('@/assets/images/brutalist/Abstract 30.png'),
    require('@/assets/images/brutalist/Abstract 31.png'),
    require('@/assets/images/brutalist/Abstract 32.png'),
    require('@/assets/images/brutalist/Abstract 33.png'),
    require('@/assets/images/brutalist/Abstract 34.png'),
    require('@/assets/images/brutalist/Abstract 35.png'),
    require('@/assets/images/brutalist/Abstract 36.png'),
    require('@/assets/images/brutalist/Abstract 37.png'),
    require('@/assets/images/brutalist/Abstract 38.png'),
    require('@/assets/images/brutalist/Abstract 39.png'),
    require('@/assets/images/brutalist/Abstract 40.png'),
    require('@/assets/images/brutalist/Abstract 41.png'),
    require('@/assets/images/brutalist/Abstract 42.png'),
    require('@/assets/images/brutalist/Abstract 43.png'),
    require('@/assets/images/brutalist/Abstract 44.png'),
    require('@/assets/images/brutalist/Abstract 45.png'),
    require('@/assets/images/brutalist/Abstract 46.png'),
    require('@/assets/images/brutalist/Abstract 47.png'),
    require('@/assets/images/brutalist/Abstract 48.png'),
    require('@/assets/images/brutalist/Abstract 49.png'),
    require('@/assets/images/brutalist/Abstract 50.png'),
    require('@/assets/images/brutalist/Abstract 51.png'),
    require('@/assets/images/brutalist/Abstract 52.png'),
    require('@/assets/images/brutalist/Abstract 53.png'),
    require('@/assets/images/brutalist/Abstract 54.png'),
    require('@/assets/images/brutalist/Abstract 55.png'),
    require('@/assets/images/brutalist/Abstract 56.png'),
    require('@/assets/images/brutalist/Abstract 57.png'),
    require('@/assets/images/brutalist/Abstract 58.png'),
    require('@/assets/images/brutalist/Abstract 59.png'),
    require('@/assets/images/brutalist/Abstract 60.png'),
    require('@/assets/images/brutalist/Abstract 61.png'),
    require('@/assets/images/brutalist/Abstract 62.png'),
    require('@/assets/images/brutalist/Abstract 63.png'),
    require('@/assets/images/brutalist/Abstract 64.png'),
    require('@/assets/images/brutalist/Abstract 65.png'),
    require('@/assets/images/brutalist/Abstract 66.png'),
    require('@/assets/images/brutalist/Abstract 67.png'),
    require('@/assets/images/brutalist/Abstract 68.png'),
    require('@/assets/images/brutalist/Abstract 69.png'),
    require('@/assets/images/brutalist/Abstract 70.png'),
    require('@/assets/images/brutalist/Abstract 71.png'),
    require('@/assets/images/brutalist/Abstract 72.png'),
    require('@/assets/images/brutalist/Abstract 73.png'),
    require('@/assets/images/brutalist/Abstract 74.png'),
    require('@/assets/images/brutalist/Abstract 75.png'),
    require('@/assets/images/brutalist/Abstract 76.png'),
    require('@/assets/images/brutalist/Abstract 77.png'),
    require('@/assets/images/brutalist/Abstract 78.png'),
    require('@/assets/images/brutalist/Abstract 79.png'),
    require('@/assets/images/brutalist/Abstract 80.png'),
    require('@/assets/images/brutalist/Abstract 81.png'),
    require('@/assets/images/brutalist/Abstract 82.png'),
    require('@/assets/images/brutalist/Abstract 83.png'),
    require('@/assets/images/brutalist/Abstract 84.png'),
    require('@/assets/images/brutalist/Abstract 85.png'),
    require('@/assets/images/brutalist/Abstract 86.png'),
    require('@/assets/images/brutalist/Abstract 87.png'),
    require('@/assets/images/brutalist/Abstract 88.png'),
    require('@/assets/images/brutalist/Abstract 89.png'),
    require('@/assets/images/brutalist/Abstract 90.png'),
    require('@/assets/images/brutalist/Abstract 91.png'),
    require('@/assets/images/brutalist/Abstract 92.png'),
    require('@/assets/images/brutalist/Abstract 93.png'),
    require('@/assets/images/brutalist/Abstract 94.png'),
    require('@/assets/images/brutalist/Abstract 95.png'),
    require('@/assets/images/brutalist/Abstract 96.png'),
    require('@/assets/images/brutalist/Abstract 97.png'),
    require('@/assets/images/brutalist/Abstract 98.png'),
    require('@/assets/images/brutalist/Abstract 99.png'),
    require('@/assets/images/brutalist/Abstract 100.png'),
    require('@/assets/images/brutalist/Abstract 101.png'),
    require('@/assets/images/brutalist/Abstract 102.png'),
    require('@/assets/images/brutalist/Abstract 103.png'),
    require('@/assets/images/brutalist/Abstract 104.png'),
    require('@/assets/images/brutalist/Abstract 105.png'),
    require('@/assets/images/brutalist/Abstract 106.png'),
    require('@/assets/images/brutalist/Abstract 107.png'),
    require('@/assets/images/brutalist/Abstract 108.png'),
    require('@/assets/images/brutalist/Abstract 109.png'),
    require('@/assets/images/brutalist/Abstract 110.png'),
    require('@/assets/images/brutalist/Abstract 111.png'),
    require('@/assets/images/brutalist/Abstract 112.png'),
    require('@/assets/images/brutalist/Abstract 113.png'),
    require('@/assets/images/brutalist/Abstract 114.png'),
    require('@/assets/images/brutalist/Abstract 115.png'),
    require('@/assets/images/brutalist/Abstract 116.png'),
    require('@/assets/images/brutalist/Abstract 117.png'),
    require('@/assets/images/brutalist/Abstract 118.png'),
    require('@/assets/images/brutalist/Abstract 119.png'),
    require('@/assets/images/brutalist/Abstract 120.png'),
    require('@/assets/images/brutalist/Abstract 121.png'),
    require('@/assets/images/brutalist/Abstract 122.png'),
    require('@/assets/images/brutalist/Abstract 123.png'),
    require('@/assets/images/brutalist/Abstract 124.png'),
    require('@/assets/images/brutalist/Abstract 125.png'),
    require('@/assets/images/brutalist/Abstract 126.png'),
    require('@/assets/images/brutalist/Abstract 127.png'),
    require('@/assets/images/brutalist/Abstract 128.png'),
    require('@/assets/images/brutalist/Abstract 129.png'),
    require('@/assets/images/brutalist/Abstract 130.png'),
    require('@/assets/images/brutalist/Abstract 131.png'),
    require('@/assets/images/brutalist/Abstract 132.png'),
    require('@/assets/images/brutalist/Abstract 133.png'),
    require('@/assets/images/brutalist/Abstract 134.png'),
    require('@/assets/images/brutalist/Abstract 135.png'),
    require('@/assets/images/brutalist/Abstract 136.png'),
    require('@/assets/images/brutalist/Abstract 137.png'),
    require('@/assets/images/brutalist/Abstract 138.png'),
    require('@/assets/images/brutalist/Abstract 139.png'),
    require('@/assets/images/brutalist/Abstract 140.png'),
    require('@/assets/images/brutalist/Abstract 141.png'),
    require('@/assets/images/brutalist/Abstract 142.png'),
    require('@/assets/images/brutalist/Abstract 143.png'),
    require('@/assets/images/brutalist/Abstract 144.png'),
    require('@/assets/images/brutalist/Abstract 145.png'),
    require('@/assets/images/brutalist/Abstract 146.png'),
    require('@/assets/images/brutalist/Abstract 147.png'),
    require('@/assets/images/brutalist/Abstract 148.png'),
    require('@/assets/images/brutalist/Abstract 149.png'),
    require('@/assets/images/brutalist/Abstract 150.png'),
    require('@/assets/images/brutalist/Abstract 151.png'),
    require('@/assets/images/brutalist/Abstract 152.png'),
    require('@/assets/images/brutalist/Abstract 153.png'),
    require('@/assets/images/brutalist/Abstract 154.png'),
    require('@/assets/images/brutalist/Abstract 155.png'),
    require('@/assets/images/brutalist/Abstract 156.png'),
    require('@/assets/images/brutalist/Abstract 157.png'),
    require('@/assets/images/brutalist/Abstract 158.png'),
    require('@/assets/images/brutalist/Abstract 159.png'),
    require('@/assets/images/brutalist/Abstract 160.png'),
    require('@/assets/images/brutalist/Abstract 161.png'),
    require('@/assets/images/brutalist/Abstract 162.png'),
    require('@/assets/images/brutalist/Abstract 163.png'),
    require('@/assets/images/brutalist/Abstract 164.png'),
    require('@/assets/images/brutalist/Abstract 165.png'),
    require('@/assets/images/brutalist/Abstract 166.png'),
    require('@/assets/images/brutalist/Abstract 167.png'),
    require('@/assets/images/brutalist/Abstract 168.png'),
    require('@/assets/images/brutalist/Abstract 169.png'),
    require('@/assets/images/brutalist/Abstract 170.png'),
    require('@/assets/images/brutalist/Abstract 171.png'),
    require('@/assets/images/brutalist/Abstract 172.png'),
    require('@/assets/images/brutalist/Abstract 173.png'),
    require('@/assets/images/brutalist/Abstract 174.png'),
    require('@/assets/images/brutalist/Abstract 175.png'),
    require('@/assets/images/brutalist/Abstract 176.png'),
    require('@/assets/images/brutalist/Abstract 177.png'),
    require('@/assets/images/brutalist/Abstract 178.png'),
    require('@/assets/images/brutalist/Abstract 179.png'),
    require('@/assets/images/brutalist/Abstract 180.png'),
    require('@/assets/images/brutalist/Abstract 181.png'),
    require('@/assets/images/brutalist/Abstract 182.png'),
    require('@/assets/images/brutalist/Abstract 183.png'),
    require('@/assets/images/brutalist/Abstract 184.png'),
    require('@/assets/images/brutalist/Abstract 185.png'),
    require('@/assets/images/brutalist/Abstract 186.png'),
    require('@/assets/images/brutalist/Abstract 187.png'),
    require('@/assets/images/brutalist/Abstract 188.png'),
    require('@/assets/images/brutalist/Abstract 189.png'),
    require('@/assets/images/brutalist/Abstract 190.png'),
    require('@/assets/images/brutalist/Abstract 191.png'),
    require('@/assets/images/brutalist/Abstract 192.png'),
    require('@/assets/images/brutalist/Abstract 193.png'),
    require('@/assets/images/brutalist/Abstract 194.png'),
    require('@/assets/images/brutalist/Abstract 195.png'),
    require('@/assets/images/brutalist/Abstract 196.png'),
    require('@/assets/images/brutalist/Abstract 197.png'),
    require('@/assets/images/brutalist/Abstract 198.png'),
    require('@/assets/images/brutalist/Abstract 199.png'),
    require('@/assets/images/brutalist/Abstract 200.png'),
    require('@/assets/images/brutalist/Abstract 201.png'),
    require('@/assets/images/brutalist/Abstract 202.png'),
    require('@/assets/images/brutalist/Abstract 203.png'),
    require('@/assets/images/brutalist/Abstract 204.png'),
    require('@/assets/images/brutalist/Abstract 205.png'),
    require('@/assets/images/brutalist/Abstract 206.png'),
    require('@/assets/images/brutalist/Abstract 207.png'),
    require('@/assets/images/brutalist/Abstract 208.png'),
    require('@/assets/images/brutalist/Abstract 209.png'),
    require('@/assets/images/brutalist/Abstract 210.png'),
    require('@/assets/images/brutalist/Abstract 211.png'),
    require('@/assets/images/brutalist/Abstract 212.png'),
    require('@/assets/images/brutalist/Abstract 213.png'),
    require('@/assets/images/brutalist/Abstract 214.png'),
    require('@/assets/images/brutalist/Abstract 215.png'),
    require('@/assets/images/brutalist/Abstract 216.png'),
    require('@/assets/images/brutalist/Abstract 217.png'),
    require('@/assets/images/brutalist/Abstract 218.png'),
    require('@/assets/images/brutalist/Abstract 219.png'),
    require('@/assets/images/brutalist/Abstract 220.png'),
    require('@/assets/images/brutalist/Abstract 221.png'),
    require('@/assets/images/brutalist/Abstract 222.png'),
    require('@/assets/images/brutalist/Abstract 223.png'),
    require('@/assets/images/brutalist/Abstract 224.png'),
    require('@/assets/images/brutalist/Abstract 225.png'),
    require('@/assets/images/brutalist/Abstract 226.png'),
    require('@/assets/images/brutalist/Abstract 227.png'),
    require('@/assets/images/brutalist/Abstract 228.png'),
    require('@/assets/images/brutalist/Abstract 229.png'),
    require('@/assets/images/brutalist/Abstract 230.png'),
    require('@/assets/images/brutalist/Abstract 231.png'),
    require('@/assets/images/brutalist/Abstract 232.png'),
    require('@/assets/images/brutalist/Abstract 233.png'),
    require('@/assets/images/brutalist/Abstract 234.png'),
    require('@/assets/images/brutalist/Abstract 235.png'),
    require('@/assets/images/brutalist/Abstract 236.png'),
    require('@/assets/images/brutalist/Abstract 237.png'),
    require('@/assets/images/brutalist/Abstract 238.png'),
    require('@/assets/images/brutalist/Abstract 239.png'),
    require('@/assets/images/brutalist/Abstract 240.png'),
    require('@/assets/images/brutalist/Abstract 241.png'),
    require('@/assets/images/brutalist/Abstract 242.png'),
    require('@/assets/images/brutalist/Abstract 243.png'),
    require('@/assets/images/brutalist/Abstract 244.png'),
    require('@/assets/images/brutalist/Abstract 245.png'),
    require('@/assets/images/brutalist/Abstract 246.png'),
    require('@/assets/images/brutalist/Abstract 247.png'),
    require('@/assets/images/brutalist/Abstract 248.png'),
    require('@/assets/images/brutalist/Abstract 249.png'),
    require('@/assets/images/brutalist/Abstract 250.png'),
    require('@/assets/images/brutalist/Abstract 251.png'),
    require('@/assets/images/brutalist/Abstract 252.png'),
    require('@/assets/images/brutalist/Abstract 253.png'),
    require('@/assets/images/brutalist/Abstract 254.png'),
    require('@/assets/images/brutalist/Abstract 255.png'),
    require('@/assets/images/brutalist/Abstract 256.png'),
    require('@/assets/images/brutalist/Abstract 257.png'),
    require('@/assets/images/brutalist/Abstract 258.png'),
    require('@/assets/images/brutalist/Abstract 259.png'),
    require('@/assets/images/brutalist/Abstract 260.png'),
    require('@/assets/images/brutalist/Abstract 261.png'),
    require('@/assets/images/brutalist/Abstract 262.png'),
];

const bauhausImages = [
    require('@/assets/images/brutalist/Bauhaus 1.png'),
    require('@/assets/images/brutalist/Bauhaus 2.png'),
    require('@/assets/images/brutalist/Bauhaus 3.png'),
    require('@/assets/images/brutalist/Bauhaus 4.png'),
    require('@/assets/images/brutalist/Bauhaus 5.png'),
    require('@/assets/images/brutalist/Bauhaus 6.png'),
    require('@/assets/images/brutalist/Bauhaus 7.png'),
    require('@/assets/images/brutalist/Bauhaus 8.png'),
    require('@/assets/images/brutalist/Bauhaus 9.png'),
    require('@/assets/images/brutalist/Bauhaus 10.png'),
    require('@/assets/images/brutalist/Bauhaus 11.png'),
    require('@/assets/images/brutalist/Bauhaus 12.png'),
    require('@/assets/images/brutalist/Bauhaus 13.png'),
    require('@/assets/images/brutalist/Bauhaus 14.png'),
    require('@/assets/images/brutalist/Bauhaus 15.png'),
    require('@/assets/images/brutalist/Bauhaus 16.png'),
    require('@/assets/images/brutalist/Bauhaus 17.png'),
    require('@/assets/images/brutalist/Bauhaus 18.png'),
    require('@/assets/images/brutalist/Bauhaus 19.png'),
    require('@/assets/images/brutalist/Bauhaus 20.png'),
    require('@/assets/images/brutalist/Bauhaus 21.png'),
    require('@/assets/images/brutalist/Bauhaus 22.png'),
    require('@/assets/images/brutalist/Bauhaus 23.png'),
    require('@/assets/images/brutalist/Bauhaus 24.png'),
    require('@/assets/images/brutalist/Bauhaus 25.png'),
    require('@/assets/images/brutalist/Bauhaus 26.png'),
    require('@/assets/images/brutalist/Bauhaus 27.png'),
    require('@/assets/images/brutalist/Bauhaus 28.png'),
    require('@/assets/images/brutalist/Bauhaus 29.png'),
    require('@/assets/images/brutalist/Bauhaus 30.png'),
    require('@/assets/images/brutalist/Bauhaus 31.png'),
    require('@/assets/images/brutalist/Bauhaus 32.png'),
    require('@/assets/images/brutalist/Bauhaus 33.png'),
    require('@/assets/images/brutalist/Bauhaus 34.png'),
    require('@/assets/images/brutalist/Bauhaus 35.png'),
    require('@/assets/images/brutalist/Bauhaus 36.png'),
    require('@/assets/images/brutalist/Bauhaus 37.png'),
    require('@/assets/images/brutalist/Bauhaus 38.png'),
    require('@/assets/images/brutalist/Bauhaus 39.png'),
    require('@/assets/images/brutalist/Bauhaus 40.png'),
];

const brutalismImages = [
    require('@/assets/images/brutalist/Brutalism 1.png'),
    require('@/assets/images/brutalist/Brutalism 2.png'),
    require('@/assets/images/brutalist/Brutalism 3.png'),
    require('@/assets/images/brutalist/Brutalism 4.png'),
    require('@/assets/images/brutalist/Brutalism 5.png'),
    require('@/assets/images/brutalist/Brutalism 6.png'),
    require('@/assets/images/brutalist/Brutalism 7.png'),
    require('@/assets/images/brutalist/Brutalism 8.png'),
    require('@/assets/images/brutalist/Brutalism 9.png'),
    require('@/assets/images/brutalist/Brutalism 10.png'),
    require('@/assets/images/brutalist/Brutalism 11.png'),
    require('@/assets/images/brutalist/Brutalism 12.png'),
    require('@/assets/images/brutalist/Brutalism 13.png'),
    require('@/assets/images/brutalist/Brutalism 14.png'),
    require('@/assets/images/brutalist/Brutalism 15.png'),
    require('@/assets/images/brutalist/Brutalism 16.png'),
    require('@/assets/images/brutalist/Brutalism 17.png'),
    require('@/assets/images/brutalist/Brutalism 18.png'),
    require('@/assets/images/brutalist/Brutalism 19.png'),
    require('@/assets/images/brutalist/Brutalism 20.png'),
    require('@/assets/images/brutalist/Brutalism 21.png'),
    require('@/assets/images/brutalist/Brutalism 22.png'),
    require('@/assets/images/brutalist/Brutalism 23.png'),
    require('@/assets/images/brutalist/Brutalism 24.png'),
    require('@/assets/images/brutalist/Brutalism 25.png'),
    require('@/assets/images/brutalist/Brutalism 26.png'),
    require('@/assets/images/brutalist/Brutalism 27.png'),
    require('@/assets/images/brutalist/Brutalism 28.png'),
    require('@/assets/images/brutalist/Brutalism 29.png'),
    require('@/assets/images/brutalist/Brutalism 30.png'),
    require('@/assets/images/brutalist/Brutalism 31.png'),
    require('@/assets/images/brutalist/Brutalism 32.png'),
    require('@/assets/images/brutalist/Brutalism 33.png'),
    require('@/assets/images/brutalist/Brutalism 34.png'),
    require('@/assets/images/brutalist/Brutalism 35.png'),
    require('@/assets/images/brutalist/Brutalism 36.png'),
    require('@/assets/images/brutalist/Brutalism 37.png'),
    require('@/assets/images/brutalist/Brutalism 38.png'),
    require('@/assets/images/brutalist/Brutalism 39.png'),
    require('@/assets/images/brutalist/Brutalism 40.png'),
    require('@/assets/images/brutalist/Brutalism 41.png'),
    require('@/assets/images/brutalist/Brutalism 42.png'),
    require('@/assets/images/brutalist/Brutalism 43.png'),
    require('@/assets/images/brutalist/Brutalism 44.png'),
    require('@/assets/images/brutalist/Brutalism 45.png'),
    require('@/assets/images/brutalist/Brutalism 46.png'),
    require('@/assets/images/brutalist/Brutalism 47.png'),
    require('@/assets/images/brutalist/Brutalism 48.png'),
    require('@/assets/images/brutalist/Brutalism 49.png'),
    require('@/assets/images/brutalist/Brutalism 50.png'),
    require('@/assets/images/brutalist/Brutalism 51.png'),
    require('@/assets/images/brutalist/Brutalism 52.png'),
    require('@/assets/images/brutalist/Brutalism 53.png'),
    require('@/assets/images/brutalist/Brutalism 54.png'),
    require('@/assets/images/brutalist/Brutalism 55.png'),
    require('@/assets/images/brutalist/Brutalism 56.png'),
    require('@/assets/images/brutalist/Brutalism 57.png'),
    require('@/assets/images/brutalist/Brutalism 58.png'),
    require('@/assets/images/brutalist/Brutalism 59.png'),
    require('@/assets/images/brutalist/Brutalism 60.png'),
    require('@/assets/images/brutalist/Brutalism 61.png'),
    require('@/assets/images/brutalist/Brutalism 62.png'),
    require('@/assets/images/brutalist/Brutalism 63.png'),
    require('@/assets/images/brutalist/Brutalism 64.png'),
    require('@/assets/images/brutalist/Brutalism 65.png'),
    require('@/assets/images/brutalist/Brutalism 66.png'),
    require('@/assets/images/brutalist/Brutalism 67.png'),
    require('@/assets/images/brutalist/Brutalism 68.png'),
    require('@/assets/images/brutalist/Brutalism 69.png'),
    require('@/assets/images/brutalist/Brutalism 70.png'),
    require('@/assets/images/brutalist/Brutalism 71.png'),
    require('@/assets/images/brutalist/Brutalism 72.png'),
    require('@/assets/images/brutalist/Brutalism 73.png'),
    require('@/assets/images/brutalist/Brutalism 74.png'),
    require('@/assets/images/brutalist/Brutalism 75.png'),
    require('@/assets/images/brutalist/Brutalism 76.png'),
    require('@/assets/images/brutalist/Brutalism 77.png'),
    require('@/assets/images/brutalist/Brutalism 78.png'),
    require('@/assets/images/brutalist/Brutalism 79.png'),
    require('@/assets/images/brutalist/Brutalism 80.png'),
    require('@/assets/images/brutalist/Brutalism 81.png'),
    require('@/assets/images/brutalist/Brutalism 82.png'),
    require('@/assets/images/brutalist/Brutalism 83.png'),
    require('@/assets/images/brutalist/Brutalism 84.png'),
    require('@/assets/images/brutalist/Brutalism 85.png'),
    require('@/assets/images/brutalist/Brutalism 86.png'),
    require('@/assets/images/brutalist/Brutalism 87.png'),
    require('@/assets/images/brutalist/Brutalism 88.png'),
    require('@/assets/images/brutalist/Brutalism 89.png'),
    require('@/assets/images/brutalist/Brutalism 90.png'),
    require('@/assets/images/brutalist/Brutalism 91.png'),
    require('@/assets/images/brutalist/Brutalism 92.png'),
    require('@/assets/images/brutalist/Brutalism 93.png'),
    require('@/assets/images/brutalist/Brutalism 94.png'),
    require('@/assets/images/brutalist/Brutalism 95.png'),
    require('@/assets/images/brutalist/Brutalism 96.png'),
    require('@/assets/images/brutalist/Brutalism 97.png'),
    require('@/assets/images/brutalist/Brutalism 98.png'),
    require('@/assets/images/brutalist/Brutalism 99.png'),
    require('@/assets/images/brutalist/Brutalism 100.png'),
    require('@/assets/images/brutalist/Brutalism 101.png'),
    require('@/assets/images/brutalist/Brutalism 102.png'),
    require('@/assets/images/brutalist/Brutalism 103.png'),
    require('@/assets/images/brutalist/Brutalism 104.png'),
    require('@/assets/images/brutalist/Brutalism 105.png'),
    require('@/assets/images/brutalist/Brutalism 106.png'),
    require('@/assets/images/brutalist/Brutalism 107.png'),
    require('@/assets/images/brutalist/Brutalism 108.png'),
    require('@/assets/images/brutalist/Brutalism 109.png'),
    require('@/assets/images/brutalist/Brutalism 110.png'),
    require('@/assets/images/brutalist/Brutalism 111.png'),
    require('@/assets/images/brutalist/Brutalism 112.png'),
    require('@/assets/images/brutalist/Brutalism 113.png'),
    require('@/assets/images/brutalist/Brutalism 114.png'),
    require('@/assets/images/brutalist/Brutalism 115.png'),
    require('@/assets/images/brutalist/Brutalism 116.png'),
    require('@/assets/images/brutalist/Brutalism 117.png'),
    require('@/assets/images/brutalist/Brutalism 118.png'),
];

const allImages = [...abstractImages, ...bauhausImages, ...brutalismImages];

const colorPairs = [
    { tint: '#FFA617', background: '#0056B3' }, // Orange → Deep blue
    { tint: '#59C9DF', background: '#DC2626' }, // Cyan → Bold red
    { tint: '#C678FF', background: '#16A34A' }, // Purple → Forest green
    { tint: '#FF79D7', background: '#047857' }, // Pink → Teal green
    { tint: '#FFD800', background: '#4C1D95' }, // Yellow → Deep purple
    { tint: '#84E600', background: '#C026D3' }  // Lime → Magenta
];

function hashCode(str: string): number {
    let hash = 0;
    for (let i = 0; i < str.length; i++) {
        const char = str.charCodeAt(i);
        hash = ((hash << 5) - hash) + char;
        hash = hash & hash;
    }
    return Math.abs(hash);
}

export const AvatarBrutalist = React.memo((props: AvatarBrutalistProps) => {
    const { id, size = 32, square = false, monochrome = false } = props;

    const imageIndex = hashCode(id) % allImages.length;
    const colorIndex = hashCode(id + 'color') % colorPairs.length;

    const imageSource = allImages[imageIndex];
    const colorPair = colorPairs[colorIndex];
    const tintColor = monochrome ? '#999999' : colorPair.tint;
    const backgroundColor = monochrome ? '#F0F0F0' : colorPair.background;

    const dimension = square ? size : size;
    const borderRadius = square ? 0 : size / 2;

    return (
        <View
            style={{
                width: dimension,
                height: dimension,
                borderRadius,
                backgroundColor,
                // borderWidth: square ? 0 : 0.5,
                // borderColor: 'rgba(0, 0, 0, 0.1)',
                justifyContent: 'center',
                alignItems: 'center'
            }}
        >
            <Image
                source={imageSource}
                style={{
                    width: dimension * 0.8,
                    height: dimension * 0.8,
                    borderRadius
                }}
                tintColor={tintColor}
            />
        </View>
    );
});